I would like to revive an idea proposed by matt.baker in January 2017. The idea was declined because it received less than 3 kudos in 3 years.
Specifically, it would be great if LabVIEW programmers were able to view the Dataflow Intermediate Representation (DFIR) of a VI.
For clarity, I am asking for the ability to strictly view the DFIR, not to edit or alter it. Simply viewing the DFIR in a window, perhaps with the ability to save the DFIR diagram as a PNG or PDF file.
For those who might not know, please note that internally NI has long had the ability to view the DFIR of any VI. This idea asks to essentially share the internal viewing tool (or a slimmer, less-fully-featured version of the internal viewing tool) with the LabVIEW community.
Viewing the DFIR would be useful to programmers that:
- Develop high-throughput, high-performance applications where achieving the highest possible performance is the goal.
- Develop small, low-level reusable libraries, including free, open-source VIPM packages. These programmers could use the DFIR as a tool in their arsenal, helping them deliver reusable code with the best possible performance.
- Are looking to understand the LabVIEW compiler better, to gain intuition into efficient vs. not-efficient LabVIEW coding constructs. An efficient coding construct is one that results in a lean DFIR.
Other programming languages expose their intermediary representations. For example, C# programmers can use tools such as the ILDASM (Intermediate Language DisAssembler) to inspect the .NET IL (Intermediate Language) produced by C#. Source: Intermediate Language (ILDASM & ILASM), Common Intermediate Language - Wikipedia.
Based on brief research (please correct me if I'm wrong), it seems that Java programmers have access to something similar, named the ability to inspect the Java Virtual Machine (JVM) bytecode. There is a useful quote in the JVM bytecode Wikipedia page: "Understanding bytecode and what bytecode is likely to be generated by a Java compiler helps the Java programmer in the same way that knowledge of assembly helps the C or C++ programmer." The LabVIEW DFIR would help LabVIEW programmers in the same way that this quote suggests.
Resources:
The following is an example DFIR diagram presented in slide 24 of the pptx.

Counter-arguments
In a reply to the original idea, AristosQueue mentions that "This is not something we are going to be productizing." and highlights that DFIR diagrams can be large and complex even for simple VIs.
While I fully agree and understand that DFIR diagrams may be complex even for simple VIs, comparing DFIRs from one version of a VI with another could still be a fruitful exercise that helps identify optimisations. For example, let's say the DFIR of A.vi is viewed and saved as a PNG file. The programmer then refactors A.vi while maintaining identical functional behaviour. The programmer then views the new DFIR and visually compares with the initial DFIR (the PNG file). If the DFIR is visually much simpler than before (much fewer graph nodes and connections), there's a good chance that the VI will execute more quickly.
In other words, I fully agree with AristosQueue's thoughts that inspecting, understanding, comparing DFIRs may be a time-consuming activity, and activity that only a small subset of programmers may be interested in. Nevertheless, viewing DFIRs would be valuable to experienced programmers who are looking to understand the compiler better, and to produce more efficient code, sometimes for the benefit of the whole community (reusable VIPM packages).
In general, anything that increases the observability of LabVIEW is welcome, as it enables us (professional LabVIEW programmers) to make better decisions.